1. Field of the Invention
The invention relates to communication systems, more particularly, to methods and apparatus for allocating channelization codes in a wireless communication system with multiple antennas.
2. Description of the Background Art
Due to the rapid development of wireless communications, there is an increasing need to provide various types of multimedia services (e.g., video, photos, animation, music, games, etc.) through wireless interfaces supporting higher capacity data transmissions and higher data transmission rates. Accordingly, methods for allowing more efficient use of limited bandwidth are becoming more critical. To address these issues, new data transmission techniques using multiple antennas are being developed, and the so-called “MIMO” (Multiple-input Multiple-Output) technique is one such example.
FIGS. 1 and 2 show the structures of a transmit end and a receive end for a PARC (Per Antenna Rate Control) MIMO system.
As shown in FIG. 1, the transmit end of a MIMO system comprises a demultiplexer (Demux) 10 that separates (branches) an inputted high speed data stream to multiple transmit antennas (Ant 1˜Ant n), a symbol coding unit 11 that generates symbols by coding each sub-stream separated from the inputted data stream, a channelization coding unit 12 that allocates channelization codes (C1-Cn) to the symbols outputted from the symbol coding unit 11, an adder 13 that adds the symbols coded by the channelization coding unit 12, a scrambling unit 14 that allocates scrambling codes (S1˜Sn) to the symbols outputted from the adder 13, and multiple transmit antennas (Tx1˜Txn) that transmit the symbols that have been spread by the scrambling unit 14. Note that the scrambling codes S1˜Sn are usually the same code.
The symbol coding unit 11 performs channel coding, interleaving, and mapping operations to generate symbols, and also performs the function of separating the generated symbols. The channelization coding unit 12 allocates channelization codes (C1˜Cn) to the separated symbols and spread the symbols, and the scrambling unit 14 scrambles the symbols spread by channelization codes allocated thereto.
In the related art, the receive end of the MIMO system as shown in FIG. 2 comprises an interference signal removal unit 20 that removes interference signals from a received signal, a MMSE detector 21 that performs MMSE (Minimum Mean-squared Error) linear conversion upon finding the signal having the largest SINR (Signal-to-Interference Noise Ratio) among those signals outputted from the interference signal removal unit 20, a de-spreading unit 22 that de-spreads the output of the MMSE detector 21, a multiplexer (MUX) 23 that multiplexes the de-spread signals, a symbol detecting unit 24 that processes the multiplexed signal and detects a sub-stream therefrom, a signal reconstruct unit 25 that reconstructs the sub-stream detected by the symbol detecting unit 24 into a format that is equivalent (or similar) to the received signal, and a signal collecting unit 26 that forms a data stream by collecting the sub-streams that were sequentially detected by the symbol detecting unit 24.
The interference signal canceling unit 20 comprises a plurality of buffers used for deleting the sub-streams reconstructed at the symbol detecting unit 24 from the received signal. The de-spreading unit 22 comprises a plurality of de-spreaders to perform de-spreading by using the codes allocated to a corresponding sub-stream at the transmit end.
The related art MIMO system having the above structure performs the following operations.
The high speed data stream is demultiplexed by the demultiplexer 10 into a number of sub-streams equaling the total number of transmit antennas. Each demultiplexed sub bit stream undergoes channelization coding and interleaving at the symbol coding unit 11 and then is mapped to symbols. The corresponding symbols are again separated/branched (demultiplexed) according to the total number of channelization codes.
The channelization coding unit 12 allocates channelization codes (C1-Cn) to the branched symbols, and the symbols having channelization codes allocated thereto are added into one symbols at the adding unit 13. The scrambling unit 14 allocates scrambling codes to the symbols outputted from the adding unit 13 and then transmits via the transmit antennas (Tx1-Txn). Generally, the scrambling codes allocated to the symbols are the same code.
The MMSE detector 21 of the receiving end detects a signal having the largest SINR (Signal-to-Interference Noise Ratio) among the signals received via the receive antennas (Rx1-Rxn) and performs MMSE (Minimum Mean-squared Error) linear conversion. The output of the MMSE detector 21 is de-spread at the de-spreading unit 22 and is combined into one signal at the multiplexer 23. The symbol detecting unit 24 detects the transmit symbols from the signals output by the multiplexer 23, and then performs reverse mapping and reverse interleaving operations for detection as a first stream.
The signal reconstruct unit 25 reconstructs the first sub-stream detected by the symbol detecting unit 24 into the form of the receive signal and then outputs to the interference signal canceling unit 20, which removes the reconstructed signal from the receive signal stored in the buffer and then outputs to the MMSE detector 21.
Accordingly, the MMSE detector 21 performs MMSE (Minimum Mean-squared Error) liner conversion on the signal having the largest SINR (Signal-to-Interference Ratio) among the remaining signals, and the output of the MMSE detector 21 goes through the de-spreading unit 22 and the multiplexer 23, and is inputted to the symbol detecting unit 24, which detects a second sub-stream.
The signal reconstruct unit 25 reconfigures the second sub-stream detected by the stream detecting unit 24 and outputs to the interference signal canceling unit 20, which removes the reconstructed signal from the signal stored in the buffer and outputs to the MMSE detector 20. Then, the above explained procedures are repeatedly performed such that the symbol detecting unit 24 sequentially detects sub-streams.
Thus, when all sub-streams are detected by the symbol detecting unit 24, the detected multiple sub-streams are collected by the signal collecting unit 26 to form a single data stream.
Hereafter, the method of allocating channelization codes to the transmit symbols at the transmit end will be explained in more detail as follows.
FIG. 3 is a flow chart showing a channelization allocation method in a mobile communications system according to the related art.
In general, when transmitted certain data to multiple terminals (e.g., user equipment) (UE1˜UE8), a pilot signal is first transmitted for initial synchronization with each terminal. The terminals (UE1˜UE8) that receive the pilot signal refer to the state of each transmit antenna and of each receive link, and transmit channel quality information (CQI) to the base station. Here, the CQI can be, for example, a ‘transmit possible bit number’, i.e., the number of bits (bps/Hz) that may be transmitted by each terminal for each transmit antenna.
The base station receiving CQI information from the terminals according to the transmit antennas, selects from the CQI information, a MCS (Modulation Code Set) that can be sent to each terminal in order to support a high data transmission rate (S10, S11). Then, the base station selects a terminal having a high ‘transmit possible bit number’ with respect to all the antennas, and allocates channelization codes to the selected terminal (S12). Namely, channelization codes are sequentially allocated to the symbols to be transmitted to the selected terminal (S13).
FIG. 4 shows an example of allocating channelization codes when there are 4 transmit antennas, 8 users, and 4 channelization codes.
As shown in FIG. 4, because it is assumed that the maximum ‘transmit possible bit number’ is largest for UE1 and smallest for UE 2, namely, the order according to ‘transmit possible bit number’ size is UE1>UE3>UE8>UE7>UE6>UE4(=UE5)>UE2, the base station sequentially allocates C1, C2, C3, and C4 respectively to each of the symbols of UE1, UE3, UE5, and UE6 to be transmitted via the four transmit antennas (Tx1˜Tx4), while channelization codes are not allocated to the remaining terminals (UE2, UE4, UE5, and UE6).
When allocation of channelization codes is completed, the base station multiplexes the symbols of the terminals having channelization codes allocated thereto and transmits through each transmit antenna (Tx1˜Tx4) (S14, S15).
In general, for a MIMO system using multiple antennas at the transmit and receive ends, the channel quality for each transmit antenna is different. Thus, even if the link quality between the base station and the terminals is considered to be good, in actuality, certain links may be considered extremely good while other links may be considered extremely bad. In such situations, link adaptation procedures, such as AMC (Adaptive Modulation and Coding) are used to apply higher modulation methods (such as QAM (Quadrature Amplitude Modulation)) in order to maximize system throughput.
When many users simultaneously receive services in a MIMO system, the base station uses channelization codes to distinguish each user. However, if the total number of channelization codes is less than the total number of users, and the related art channelization code allocation method is employed, there are situations where limited channel resources cannot be efficiently used. Namely, as shown in FIG. 4, when there are eight users and four channelization codes are used, certain terminals (i.e., UE2, UE4, UE5, and UE6) are not allocated with any channelization codes, and thus the efficiency of using channel resources is undesirably decreased. This is because the related art channelization code allocation method performs allocation of channelization codes by determining the maximum ‘transmit possible bit number’ (i.e., the channel state or condition) for each antenna.
Additionally, if the quality of the links between the base station and the terminals are all considered to be bad (namely, when some links between the transmit/receive antennas are good, while other links are bad), a low MCS (Modulation and Coding Set) is used or data streams are not even transmitted for those channels allocated to the bad links according to the related art. Thus, efficiency of channel usage is degraded, and in particular, the data stream detection performance at the receive end is degraded.
The present invention also relates to transmitting signals in a MIMO (Multiple-Input Multiple-Output) radio communication system to allow more efficient use of resources.
Transmission methods employing antenna signal processing techniques can be classified into open-loop procedures and closed-loop procedures. The open-loop procedure is a method that can implement code re-using techniques together with antenna diversity techniques, whereby a mobile station need not provide feedback of channel information to the base station. The closed-loop procedure employs weight information (W), used for the multiple antennas, obtained by using channel information that is measured at and fed back from the receiving end, and corresponding weight values are applied to each antenna for signals to be transmitted.
The MSB (Multi-Stream Beam-forming) or PSRC (Per-Stream Rate Control) MIMO system is one kind of FDD (Frequency Division Duplex) type closed-loop MIMO system.
FIG. 7 depicts a MSB MIMO system configuration according to the related art. The transmitting end 710 comprises a demultiplexing unit 711 that receives source data bits, a modulation unit 713 that performs modulation allocation to each symbol sent from the demultiplexing unit 711 and that receives feedback from the receiving end (explained hereafter), a weight vector multiplying unit 715 that multiplies a weight vector to each modulation allocated symbol sent from the modulation unit 713 and that receives feedback from the receiving end (explained hereafter), and a plurality of transmit antennas (Tx 1 through Tx M) that allows signal transmission through a MIMO channel.
The transmitting end considers the magnitude of each eigenvalue through the Eigen-decomposition of the channel matrix that is estimated by the receiving end. For those channel regions having relatively large eigenvalues, high order modulation methods (such as 64 QAM, 16 QAM, and the like) are applied, while for those channel regions having relatively small eigenvalues, low order modulation methods (such as, BPSK, QPSK, and the like) are applied. In order to maintain the independence of the symbols that are transmitted through respectively different data streams, eigenvectors of the channel matrix are respectively multiplied to the symbols, which are then transmitted.
Namely, the same modulation method is not used for all the symbols transmitted by each transmission stream, but the channel conditions (i.e., state or status) of the transmission end are received as feedback from the terminals, and the appropriate modulation method for each stream is used according to the channel conditions. Here, it can be understood that the receiving end requires the same algorithm as that used in the transmitting end in order to determine the modulation method used for each antenna for reception.
Also, for the symbols transmitted in a respectively different manner via each stream, the eigenvectors obtained by Eigen-decomposition of the channel matrix are respectively multiplied to the symbols and then transmitted, which allows channel region correlation to be utilized to the maximum, and independence among transmission streams is maintained.
For relatively small channel regions with eigenvalues (obtained by Eigen-decomposition of the channel matrix) of less than a particular value, symbols are not even transmitted in order to prevent the possibility of errors being generated at the receiving end for the symbols transmitted from the transmitting end.
Even so, because the symbols are allocated such that higher order modulation is used for streams having good channel conditions, the total number of bits to be transmitted via all the transmit antennas is increased, thus aiding the increase of throughput. Accordingly, the overall communication quality can be improved by having the transmitting end prevent (in advance) the transmission of symbols in the channel region created by using eigenvectors with small eigenvalues, whereby symbol transmission would be useless anyway.
As shown in FIG. 7, the MSB MIMO system has an M number of transmit antennas and an N number of receive antennas. If H refers to the channel matrix that the signal vectors (respectively transmitted differently via the M transmit antennas) go through prior to being received at the receiving end, the receiving end estimates the channel matrix (H), and then sends to the transmitting end by feedback, each eigenvalue and eigenvector value obtained by Eigen-decomposition performed at the receiving end. Alternatively, the eigenvalues can be compared and if the transmitting and receiving ends have a pre-defined modulation method allocation table, an index value (also stored in the table) corresponding to the modulation method to be used for each stream may be fed back to the transmitting end.
As shown in FIG. 7, the receiving end 720 comprises a plurality of receive antennas (Rx 1 through Rx N) that receives signals from the transmitting end 710 via a MIMO channel, a detecting unit 721 that processes the received signal by using zero-forcing or MMSE methods, a conjugate multiplying unit 723 that multiplies conjugate values (of the weight vectors multiplied at the transmitting end 710) to the symbols outputted from the detecting unit 721, a demodulation unit 725 that performs demodulation by using the modulation allocated to the symbols, and a multiplexing unit 727 that performs multiplexing to output reception data. Furthermore, there is a channel estimator 722 that also receives the signals from the receive antennas (Rx 1 through Rx N) and an Eigen-decomposition unit 724 that processes the output of the channel estimator 722, and the results are fed back to the transmitting end 710. Here, the eigenvector information can be fed back to the weight vector multiplying unit 715, while the eigenvalue information can be fed back to the modulation unit 713.
The receiving end estimates (deduces) the signal vectors that are generated at the transmitting end by performing beam-forming on each symbol, by employing the generally well-known zero-forcing techniques or MMSE techniques. Then, conjugate values of the weight vectors (that were multiplied to each symbol at the transmitting end) are multiplied to the signal vectors to obtain (detect) each symbol. Thereafter, the symbols transmitted via each transmit antenna are modulated according to the corresponding modulation method, to thus determine the bits that were transmitted from the transmitting end, and multiplexing is performed to re-configure the bit streams transmitted from the transmitting end.
For the MSB MIMO system of the related art, a method for forming a beam for each symbol can be summarized by the following Equation (1):S=w1s1+ . . . wMsM  (1)
Here, wi refers to a weight vector used in beam-forming for each symbol, s1 through sM refer to data symbols, and S refers to a signal vector after beam-forming is performed for each symbol. Each of the symbols s1, . . . , sM is constructed from independent bit streams outputted from an M number of independent coding blocks.
The symbols transmitted from each transmit antenna are not modulated using the same modulation method, but the channel condition (state) information of each antenna are received as feedback from the terminals, and modulation is performed by to the modulation method determined according to each channel condition, respectively.
Thus, for the symbols s1 through sM in Equation (1), the eigenvalues of the channel matrix are compared and respectively different modulations are employed. Namely, upon performing Eigen-decomposition of the channel matrix, a higher order modulation is allocated to those streams having a relatively high eigenvalue, and a lower order modulation is allocated to those streams having a relatively low eigenvalue. Here, it is assumed that an eigenvector corresponding to the largest eigenvalue is multiplied to the stream having a subscript of 1, and for the other streams thereafter, eigenvectors are multiplied sequentially thereto according to the order of magnitude of the eigenvalues.
The method for obtaining the weight vectors to be multiplied to each symbol can be summarized as follows.
If H refers to the channel matrix that the signal vectors (respectively transmitted differently via the M transmit antennas) go through prior to being received at the receiving end, and if the receiving end has N receive antennas, the channel matrix is a N*M matrix. If a pilot symbol (that is already known by the transmitting and receiving ends) or a separate pilot channel is transmitted from each antenna of the transmitting end, the receiving end can deduce each component of the channel matrix.
For the channel matrix H, the receiving end performs Eigen-decomposition. In this system, because it is assumed that the number of antennas in the antenna array at the transmitting end is greater than that at the receiving end, the channel matrix H is not a square matrix, and thus Eigen-decomposition cannot be performed on the channel matrix itself, thus Eigen-decomposition of HH H is performed instead.
Here, H refers to a Hermitian calculation, λM refers to the eigenvalues of the matrix HH H, and eM refers to eigenvectors.
In general, because each eigenvector maintains orthogonal characteristics, signals can be transmitted by multiplying independent weight vectors to each symbol, when symbols are to be transmitted altogether from the transmitting end according to the number of antennas at the transmitting end.
As in Equation (1), if a signal is to be transmitted upon performing beam-forming on each symbol, the receiving end performs the following signal processing. As the signal was transmitted after multiplying independent weight vectors to each symbol, S can be deduced by using the generally known zero-forcing or MMSE methods, and then weight vectors are multiplied to each symbol at the transmitting end for transmitting the signal from the transmitting end, whereby the signal received by the receiving end can be expressed as the following Equation (3):R=HS+n  (3)whereby, n refers to AWGN (Additive White Gaussian Noise).
If the signal vector S transmitted upon multiplying a weight vector to each symbol by using zero-forcing is deduced as being the signal vector Ŝ, this signal vector can be expressed as the following Equation (4):Ŝ=[HH H]−1 HH R  (4)
If the signal vector S transmitted upon multiplying a weight vector to each symbol by using MMSE is deduced as being the signal vector Ŝ, this signal vector can be expressed as the following Equation (5):Ŝ=[αI+HH H]−1 HH R  (5)
Here, a refers to the signal to interference noise ratio, and I refers to an identity matrix. If the signal vector S transmitted upon multiplying a weight vector to each symbol by using zero-forcing or MMSE methods is deduced as being the signal vector Ŝ, and the conjugate values of the weight vectors (that were multiplied to each symbol and transmitted from the transmitting end) are multiplied to the deduced signal vector so that the symbols s1 through SM transmitted from the transmitting end can be deduced to obtain the deduced symbols ŝ1 through ŝM, which can be expressed as the following Equations (6):ŝ1=w1H Ŝ . . . ŝM=wMH Ŝ  (6)
The deduced symbols ŝi through ŜM are then modulated according to their respective modulation methods so that the bits prior to allocation to each symbol can be determined. Also, after the bits of the symbols transmitted via each antenna, the bit stream transmitted from the transmitting end is determined through multiplexing.
When respectively different symbols are transmitted from each transmit antenna, in addition to transmission upon multiplying eigenvectors (of the channel matrix) to each symbol, the receiving end also relatively compares the eigenvalues (of the channel matrix) obtained through Eigen-decomposition in order to consider the channel state (condition) of each antenna for determining the channel coding and modulation method for the symbols to be transmitted via each antenna.
To obtain the weight vector that is to be multiplied to the symbols to be transmitted independently from each transmit antenna, Eigen-decomposition of the deduced channel matrix must be performed at the receiving end. Here, no additional calculations are needed, because eigenvalues and eigenvectors can be obtained together through Eigen-decomposition.
Namely, the same modulation method is not applied to the symbols transmitted from each transmit antenna, but each channel region state is received as feedback from the terminals, and the appropriate modulation method to be used is determined accordingly for each stream based upon the channel state. Thus, by comparing the eigenvalues of the channel matrix for s1 through sM in Equation (1), respectively different modulation methods are employed.
Thus, upon performing Eigen-decomposition of the channel matrix, a higher order modulation is allocated to those streams having a relatively high eigenvalue, and a lower order modulation is allocated to those streams having a relatively low eigenvalue.
Of course, after determining the channel coding method and modulation method of the symbols to be transmitted in each stream, there are no changes in performing independent beam-forming of each symbol by using the eigenvectors of the channel matrix obtained at the receiving end as weight vectors. Here, the method of determining the modulation and coding scheme (MCS) to be allocated to each antenna is as follows.
To determine the modulation method to be allocated to each stream using the eigenvalues obtained by the Eigen-decomposition as shown in Equation (2), the respective ratios (λ1:λ2: . . . :λM) of each eigenvalue is first determined.
Through these ratios, if the smallest eigenvalue is less than a threshold value, symbols are not transmitted in the channel region created by the corresponding eigenvector. For the next smallest eigenvalue, a lower order MCS (modulation and coding set) is used, while a higher order MCS is used for the largest eigenvalue. For intermediate eigenvalues, an intermediate order MCS is used upon relative comparison of such values.
Then, after confirmation by testing different channel states (conditions) through simulations, a modulation allocation table may be used to select the desired modulation and coding combination that is appropriate for the channel state.
However, when multiple terminals receive a service in the related art MSB MIMO system, channelization codes are used to distinguish the terminals. Multiple data streams transmitted simultaneously by one terminal can be distinguished by the orthogonal characteristics of eigenvectors.
FIG. 8 depicts a table to explain the method of allocating radio resources in a related art MIMO system when multiple terminals simultaneously receive service, and the number of channelization codes are less than the number of terminals. It shows an example where there are 8 terminals, and 4 channelization codes are used. Here, only terminals 1, 3, 7, and 8 are allocated with channelization codes and can communicate, while terminals 2, 4, 5, and 6 are not allocated with channelization codes (even though there are available radio resources) and thus cannot communicate.
As shown in FIG. 8, if the number of channelization codes are less than the number of terminals in the related art MIMO system, channel resources cannot be allocated due to the lack of channelization codes, even though there are available channel resources.
Also, excluding the situation when the quality of all the channel links between the base station and multiple terminals are good, namely, when some transmit channel links are good while others are bad, the data streams allocated to the bad links are not even transmitted or are transmitted by using lower order MCS (modulation and coding schemes), thus channel resources are not efficiently utilized.